package com.wsd.domain;

import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
@Component
@Scope("prototype")
public class RepaymentPlan {
    private Long planId;

    private LocalDateTime gmtCreate;

    private LocalDateTime gmtModified;

    private Long loanId;

    private Integer installmentIdx;

    private BigDecimal repayableAmount;

    private BigDecimal principalPart;

    private BigDecimal interestPart;

    private BigDecimal overdueInterest;

    private LocalDate repaymentTime;

    private Integer overdueDay;

    private String repaymentStatus;

    private String isDelete;

    public Long getPlanId() {
        return planId;
    }

    public void setPlanId(Long planId) {
        this.planId = planId;
    }

    public LocalDateTime getGmtCreate() {
        return gmtCreate;
    }

    public void setGmtCreate(LocalDateTime gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    public LocalDateTime getGmtModified() {
        return gmtModified;
    }

    public void setGmtModified(LocalDateTime gmtModified) {
        this.gmtModified = gmtModified;
    }

    public Long getLoanId() {
        return loanId;
    }

    public void setLoanId(Long loanId) {
        this.loanId = loanId;
    }

    public Integer getInstallmentIdx() {
        return installmentIdx;
    }

    public void setInstallmentIdx(Integer installmentIdx) {
        this.installmentIdx = installmentIdx;
    }

    public BigDecimal getRepayableAmount() {
        return repayableAmount;
    }

    public void setRepayableAmount(BigDecimal repayableAmount) {
        this.repayableAmount = repayableAmount;
    }

    public BigDecimal getPrincipalPart() {
        return principalPart;
    }

    public void setPrincipalPart(BigDecimal principalPart) {
        this.principalPart = principalPart;
    }

    public BigDecimal getInterestPart() {
        return interestPart;
    }

    public void setInterestPart(BigDecimal interestPart) {
        this.interestPart = interestPart;
    }

    public BigDecimal getOverdueInterest() {
        return overdueInterest;
    }

    public void setOverdueInterest(BigDecimal overdueInterest) {
        this.overdueInterest = overdueInterest;
    }

    public LocalDate getRepaymentTime() {
        return repaymentTime;
    }

    public void setRepaymentTime(LocalDate repaymentTime) {
        this.repaymentTime = repaymentTime;
    }

    public Integer getOverdueDay() {
        return overdueDay;
    }

    public void setOverdueDay(Integer overdueDay) {
        this.overdueDay = overdueDay;
    }

    public String getRepaymentStatus() {
        return repaymentStatus;
    }

    public void setRepaymentStatus(String repaymentStatus) {
        this.repaymentStatus = repaymentStatus == null ? null : repaymentStatus.trim();
    }

    public String getIsDelete() {
        return isDelete;
    }

    public void setIsDelete(String isDelete) {
        this.isDelete = isDelete == null ? null : isDelete.trim();
    }

    @Override
    public String toString() {
        return "RepaymentPlan{" +
                "planId=" + planId +
                ", gmtCreate=" + gmtCreate +
                ", gmtModified=" + gmtModified +
                ", loanId=" + loanId +
                ", installmentIdx=" + installmentIdx +
                ", repayableAmount=" + repayableAmount +
                ", principalPart=" + principalPart +
                ", interestPart=" + interestPart +
                ", overdueInterest=" + overdueInterest +
                ", repaymentTime=" + repaymentTime +
                ", overdueDay=" + overdueDay +
                ", repaymentStatus='" + repaymentStatus + '\'' +
                ", isDelete='" + isDelete + '\'' +
                '}';
    }
}